
# 列表 list
# 列表创建
# 创建空列表
l1 =[]
print(l1)
#创建空列表
# # t4=list()
# # print(t4)

#使用list（）函数将其他类型数据转化为列表
#将字符串转化为列表

#创建带元素的列表
l2 =[1,2,4,6,'python',5]
print(l2)
print(type(l2))
#
l3=list("hello")
print(l3)
#转化元组
l5=tuple("hello")
print(l5)

#转化range函数
r1=range(5)
l5=list(r1)
print(l5)

#访问列表的元素
#使用索引访问列表中的某个元素
l1=[5,6,71,6,3,4]
##使用正数索引
print(l1[2])
##使用负数索引
print(l1[-1])

# 使用切片形式访问列表中的元素
l3=[1,88,55,44,66,33,22,77,99]
#使用正数切片，截取索引为3,4,6的元素默认步长为一
print(l3[2:7])
#索取引3——5的元素，末尾
print(l3[3:])
#索引0-2的元素，开头
print(l3[:3])
#索引1-5，步长为2
print(l3[1::2])
#使用负切片，取三个
print(l3[-3:])
#使用负切片取-5到-1步长为2的元素
print(l3[-5::2])

##遍历列表
l4=[5,4,87,9,1,4,9898,4,4,56,]
for i in l4:
    print(i,end='')
#修改列表元素
#修改单个列表元素
# ##将索引为2的元素值改为100

l4[2]=100

#修改多个元素
l5=[44,5,87,9,63,42,7,]
#修改地1-4个元素的值
l5[1:4]=[55,66,77]
print(l5)

#列表添加元素
#append()用于在列表的尾部追加元素
l6=[8,7,3,2,4]
l6.append(77)
print(l6)
#列表添加列表
l6.append([55,999,747])
print(l6)
#extend()在列表的末尾一次添加多个元素
l13=[1,5,22]
l13.extend('d')
print(l13)
#列表添加列表
l13.extend([2,3,4,6,7,9,11,12])
print(l13)
l13.extend('woedz')
print(l13)

##insert(在列表的特定位置添加想要添加的特定元素
l14 =['python','c','ppp']
#插入元素，在索引为2处插入go元素
l14.insert(2,'go')
print(l14)

#删除列表元素
#remove删除：remove()方法是删除列表里面的特点元素，但只会删除第一个和指定相同的元素，而且必须保证该元素是存在的，否则会引发错误
l15 =[1,3,5,7,96,]
l15.remove(1)
print(l15)
# 删除索引序号为q的元素
l16=[1,3,6,7,9,3,1]
#删除指定的索引
l16.pop(5)
print(l16)
#删除最后一个
l16.pop()
print(l16)
# #del可以用来删除列表中单个元素或者一段连续的元素
# l15=[1,3,4,6,7,9,11,323,446]
# #删除索引为1的元素
# del l15[1]
# print(15)
# l16=[1,2,4,3,7,9,6,4,]
# #删除索引为1-3的元素
# del  l16[1:4]
# print(l16)
#将列表中所以元素全部删除，用clear()
l19=[1,3,6,'python']
#删除列表
l19.clear()
print(l19)

# 创建联系人
name_list =[]
phone_list=[]
while 1:
    print('菜单:1.添加联系人2.修改联系人3.删除联系人')
    chion =input("请输入选择：")
    if chion=="1":
        name_list.append(input("请输入联系人姓名："))
        phone_list.append(input("请输入联系人手机号3"))
        print(name_list)
        print(phone_list)
    elif chion=="2":
        num=int(input("请输入联系人编号："))
        if len(name_list)>0 and num<=input(name_list):
            name_list[num -1]=input("修改联系人姓名")
            name_list[num-1]=input("修改联系人电话")
        else:
            print("修改联系人编号输入有误")
    elif chion=="3":
        num =int(input("请输入联系人编号"))
        if len(name_list)>0 and num<=input(name_list):
            name_list.pop(num-1)
            phone_list.pop(num-1)
        else:
            print("修改联系人编号输入有误")
    else:
        print("显示联系人信息")
        print(name_list)
        print(phone_list)
# 查寻元素
l1=[1,3,4,6,7,9,11,31,4,7]
print(l1.index(4))
print(l1.index(4,4))
print(l1.index(9,4,8))
print(l1.index(0))#报错

# count()方法来统计元素在列表上出现的次数
l2=[1,3,4,1,3,4,1,3,'j','h','f','h']
print(l2.count(1))
print(l2.count(2))
print(l2.count('h'))

#元素的排序 sort（）函数用于对原始列表进行排序
#元素是字符串的排序
l3=['1','2','3','4','55','25','17','34']
# 默认升序
l3.sort()
print(l3)
#降序
l3.sort(reverse=True)
print(l3)
##元素是数值的排序
l4=[1,6,7,32,4,1,4,48,98,1,5165,47]
#默认升序
l4.sort()
print(l4)
# 降序
l4.sort(reverse=True)
print(l4)